-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
op-txproxy: external validating proxy for conditional transactions #42
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @hamdiallam would you be able to include a README describing op and how it would fit into our infrastructure?
I'd just want to make sure this fits within the context of the infra repo as infra team is mostly likely the people who will may have to maintain this in the long run
yes I definitely get a README added here |
@jelias2 added a readme |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there might be a leak.
It's nice to put the auth into the context. Why can't the "next" Handlers just tee the body and do this themselves with a helper?
Good Q! So because this is using geth lib to construct server, it would require some changes to op-geth in order to allow a json-rpc methods to inspect the request body. See ethereum-optimism/op-geth/pull/352. There were some valid concerns around the required changes. It seemed simpler to instead create an http middleware as it remains compatible with using geth & actually made this PR a lot more unit-testable Curious what you think about this |
Yeah it made sense after I read a bit further. Cheers |
@tynes @anacrolix soft bump on the latest changes |
2142392
to
acb16ed
Compare
6cbd59b
to
3edcd45
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM, two small items
I would recommend adding the op-txproxy to the tag-service file here so the repo can publish releases.
Would you also mind adding an appropraite CODEOWNERS entry in .github for this directory
Description
A passthrough proxy service for some endpoint prior to reaching the sequencer. Currently just the
sendRawTranscationConditional
endpoint. This proxy implements stateless validation as DDoS prevention for this new endpointX-Optimism-Signature
headerDevX is responsible for maintenance of this service & any new changes that may be required with usage. Ideally working closely with DevInfra on the proxyd integration & setup
Tests
The sequencer endpoint has it's own e2e test in the monorepo and tests in op-geth
The PR includes unit tests for this passthrough endpoint. Testing authentication & entrypoint validation
This endpoint can reject traffic behind a flag. Plan being to enable on testnet and ensure the endpoint & dashboards are working correctly with a live bundler prior to enabling on mainnet
Additional Context
Requires the PR for the sequencer endpoint to land in op-geth.
Metadata
Re-opening of ethereum-optimism/optimism#11223. This repo is better suited for this service as supporting infrastructure